package com.tencent.sr.iris.activity.interfaces.request.group;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

@Data
@ApiModel("团长任务列表二级页面参数-团长视角")
public class GroupTaskSecondRequest extends BaseRequest implements Serializable {

    @NotNull(message = "taskId不能为空")
    @ApiModelProperty("taskId")
    @JSONField(name = "task_user_join_record_id")
    private String taskUserJoinRecordId;

    @ApiModelProperty("是否有效 0.无效 1.有效")
    @JSONField(name = "is_valid")
    private Integer isValid;

    @ApiModelProperty("开始时间")
    @JSONField(name = "third_part_order_create_start_time")
    private String startTime;

    @ApiModelProperty("结束时间")
    @JSONField(name = "third_part_order_create_end_time")
    private String endTime;

    @ApiModelProperty("订单状态。CREATED：待付款、DELIVER_PENDING：待发货、SENT：待收货、SUCCESS：交易完成、CANCEL：已取消")
    @JSONField(name = "order_status")
    private String orderStatus;

    @ApiModelProperty("收益状态 0,待分佣  1,分佣成功  2,分佣取消  3,分佣失败")
    @JSONField(name = "commission_status")
    private String commissionStatus;

    @ApiModelProperty("订单编号")
    @JSONField(name = "plain_order_id")
    private String plainOrderId;

    @NotNull(message = "任务类型taskTargetEvaluation不能为空")
    @ApiModelProperty("任务类型 1=拉新+首购, 2=拉新+复购，3=GMV，4=销量件数, 5=见习会员晋升, 6=初级会员晋升, 7=高级会员晋升，"
            + "8=粉丝首购人数，9=派奖工具，10=普通团推团，11=特邀团推团")
    @JSONField(name = "task_target_evaluation")
    private Integer taskTargetEvaluation;

    //团推团任务请求参数
    @ApiModelProperty("贡献状态 1.贡献中,2.已结束")
    @JSONField(name = "promote_status")
    private Integer promoteStatus;

    @ApiModelProperty("邀请时间开始(成为特邀时间,被邀请时间)")
    @JSONField(name = "promote_user_invite_start_datetime")
    private String promoteUserInviteStartDatetime;

    @ApiModelProperty("邀请时间结束(成为特邀时间,被邀请时间)")
    @JSONField(name = "promote_user_invite_end_datetime")
    private String promoteUserInviteEndDatetime;

    @ApiModelProperty("排序类型 asc：正序， desc：降序")
    @JSONField(name = "order_type")
    private String orderType;

    @ApiModelProperty(" 排序字段（全部邀新人数：total_invite_user_num，有效邀新人数：valid_invite_user_num，"
            + "预估奖励金：predict_award_amount，实际奖励金：award_amount，有效订单金额、实际奖励订单数：valid_order_num，"
            + "有效销售件数：valid_goods_num，预估奖励订单数：predict_valid_order_num")
    @JSONField(name = "order_field")
    private String orderField;

    @ApiModelProperty("排行榜专用是否有效 0.无效 1.有效")
    @JSONField(name = "is_in_leaderboard")
    private Integer isInLeaderboard;
}
